package org.mango.dsaa.demo;

import com.alibaba.fastjson.JSONObject;

import java.util.*;

/**
 * ArrayList底层是数组实现，内存连续，方便遍历和索引快速查找；
 * 但是插入数据需要将原来数据右移动一位，再赋值；
 * 删除数据，需要将原来数据左移动一位，故不适合插入和删除多的场景；
 *
 * 不指定大小创建时，默认长度为10
 */
public class ArrayListDemo {
    /**
     * 运行结果
     * ["aa",2,1597294380362]
     * ["bb","aa",2,1597294380362]
     * ["bb",2,1597294380362]
     * @param args
     */
    public static void main(String[] args) {
        ArrayList a = new ArrayList();
        a.add("aa");
        a.add(2);
        a.add(new Date());
        System.out.println(JSONObject.toJSONString(a));
        a.add(0,"bb");
        System.out.println(JSONObject.toJSONString(a));
        a.remove(1);
        System.out.println(JSONObject.toJSONString(a));
    }
}
